#!/bin/sh -e
#
#    distro: grab the distro/os
#
#    Copyright (C) 2008 Canonical Ltd.
#    Copyright (C) 2011 Dustin Kirkland
#
#    Authors: Dustin Kirkland <kirkland@byobu.co>
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, version 3 of the License.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

__distro_detail() {
	lsb_release -a 2>/dev/null
}

__distro() {
	local DISTRO="${DISTRO}"
	if [ -n "$DISTRO" ]; then
		# user defined
		true
	elif [ -r "/etc/issue" ]; then
		# lsb_release is *really* slow;  try to use /etc/issue first
		local issue
		read issue < /etc/issue
		case "$issue" in
			Ubuntu*)
				DISTRO="Ubuntu";
			;;
			Debian*)
				DISTRO="Debian"
			;;
			*)
				# assume first field is what we want
				DISTRO="${issue%% *}";
			;;
		esac
	elif $BYOBU_TEST lsb_release >/dev/null 2>&1; then
		# If lsb_release is available, use it
		local r=$(lsb_release -s -d)
		case "$r" in
			Ubuntu*)
				# Use the -d if an Ubuntu LTS
				DISTRO="Ubuntu"
			;;
			*)
				# But for other distros the description
				# is too long, so build from -i and -r
				DISTRO=$(lsb_release -s -i)
			;;
		esac
	elif $BYOBU_TEST sw_vers >/dev/null 2>&1; then
		DISTRO="$(sw_vers -productName)"
	elif $BYOBU_TEST uname >/dev/null 2>&1; then
		DISTRO="$(uname -s)"
	else
		DISTRO="Byobu"
	fi
	[ -n "$DISTRO" ] || return
	color bold2; printf "%s" "$DISTRO"; color --
}

# vi: syntax=sh ts=4 noexpandtab
